java.awt.print > Book :: 자주 쓰이는 메소드및 API 를 정리합니다.[SSISO Community]
 
SSISO 카페 SSISO Source SSISO 구직 SSISO 쇼핑몰 SSISO 맛집
추천검색어 : JUnit   Log4j   ajax   spring   struts   struts-config.xml   Synchronized   책정보   Ajax 마스터하기   우측부분

자주 쓰이는 메소드및 API 를 정리합니다.
탭으로 나뉘어져 있는 글입니다.   [1][2]
등록일:2008-03-18 14:35:23 (0%)
작성자:
제목:java.awt.print > Book
Book:  append(Printable  painter,  PageFormat  page)

import  java.awt.Color;
import  java.awt.Font;
import  java.awt.Graphics;
import  java.awt.Graphics2D;
import  java.awt.Shape;
import  java.awt.geom.AffineTransform;
import  java.awt.geom.Ellipse2D;
import  java.awt.geom.Rectangle2D;
import  java.awt.print.Book;
import  java.awt.print.PageFormat;
import  java.awt.print.Printable;
import  java.awt.print.PrinterException;
import  java.awt.print.PrinterGraphics;
import  java.awt.print.PrinterJob;

public  class  MainClass  {
    public  static  void  main(String[]  args)  {
        PrinterJob  job  =  PrinterJob.getPrinterJob();

        PageFormat  pf  =  job.defaultPage();
        pf.setOrientation(PageFormat.LANDSCAPE);

        Book  bk  =  new  Book();
        bk.append(new  paintCover(),  pf);
        bk.append(new  paintContent(),  job.defaultPage(),  1);

        job.setPageable(bk);
        job.setJobName("My  book");
        if  (job.printDialog())  {
            try  {
                job.print();
            }  catch  (PrinterException  e)  {
                System.out.println(e);
            }
        }
    }
}

class  paintContent  implements  Printable  {
    public  int  print(Graphics  g,  PageFormat  pf,  int  pageIndex)  throws  PrinterException  {
        System.out.println("Page  index  =  "  +  pageIndex);
        //  pageIndex  1  corresponds  to  page  number  2.
        if  (pageIndex  >  2)
            return  Printable.NO_SUCH_PAGE;

        Graphics2D  g2  =  (Graphics2D)  g;

        double  w  =  pf.getImageableWidth();
        double  h  =  pf.getImageableHeight();

        int  xo  =  (int)  pf.getImageableX();
        int  yo  =  (int)  pf.getImageableY();

        Rectangle2D  r  =  new  Rectangle2D.Double(xo,  yo,  w,  h);

        g2.setColor(Color.red);
        g2.draw(r);

        return  Printable.PAGE_EXISTS;
    }
}

class  paintCover  implements  Printable  {
    public  int  print(Graphics  g,  PageFormat  pf,  int  pageIndex)  throws  PrinterException  {
        Graphics2D  g2  =  (Graphics2D)  g;

        double  w  =  pf.getImageableWidth();
        double  h  =  pf.getImageableHeight();

        int  xo  =  (int)  pf.getImageableX();
        int  yo  =  (int)  pf.getImageableY();

        Rectangle2D  r  =  new  Rectangle2D.Double(xo,  yo,  w,  h);

        g2.setColor(Color.red);
        g2.draw(r);

        PrinterGraphics  p  =  (PrinterGraphics)  g2;
        String  s  =  p.getPrinterJob().getJobName();

        g2.setPaint(Color.black);
        g2.drawString(s,  0,  0);

        return  Printable.PAGE_EXISTS;
    }
}



Book:  append(Printable  painter,  PageFormat  page,  int  numPages)

import  java.awt.Color;
import  java.awt.Font;
import  java.awt.Graphics;
import  java.awt.Graphics2D;
import  java.awt.Shape;
import  java.awt.geom.AffineTransform;
import  java.awt.geom.Ellipse2D;
import  java.awt.geom.Rectangle2D;
import  java.awt.print.Book;
import  java.awt.print.PageFormat;
import  java.awt.print.Printable;
import  java.awt.print.PrinterException;
import  java.awt.print.PrinterGraphics;
import  java.awt.print.PrinterJob;

public  class  MainClass  {
    public  static  void  main(String[]  args)  {
        PrinterJob  job  =  PrinterJob.getPrinterJob();

        PageFormat  pf  =  job.defaultPage();
        pf.setOrientation(PageFormat.LANDSCAPE);

        Book  bk  =  new  Book();
        bk.append(new  paintCover(),  pf);
        bk.append(new  paintContent(),  job.defaultPage(),  1);

        job.setPageable(bk);
        job.setJobName("My  book");
        if  (job.printDialog())  {
            try  {
                job.print();
            }  catch  (PrinterException  e)  {
                System.out.println(e);
            }
        }
    }
}

class  paintContent  implements  Printable  {
    public  int  print(Graphics  g,  PageFormat  pf,  int  pageIndex)  throws  PrinterException  {
        System.out.println("Page  index  =  "  +  pageIndex);
        //  pageIndex  1  corresponds  to  page  number  2.
        if  (pageIndex  >  2)
            return  Printable.NO_SUCH_PAGE;

        Graphics2D  g2  =  (Graphics2D)  g;

        double  w  =  pf.getImageableWidth();
        double  h  =  pf.getImageableHeight();

        int  xo  =  (int)  pf.getImageableX();
        int  yo  =  (int)  pf.getImageableY();

        Rectangle2D  r  =  new  Rectangle2D.Double(xo,  yo,  w,  h);

        g2.setColor(Color.red);
        g2.draw(r);

        return  Printable.PAGE_EXISTS;
    }
}

class  paintCover  implements  Printable  {
    public  int  print(Graphics  g,  PageFormat  pf,  int  pageIndex)  throws  PrinterException  {
        Graphics2D  g2  =  (Graphics2D)  g;

        double  w  =  pf.getImageableWidth();
        double  h  =  pf.getImageableHeight();

        int  xo  =  (int)  pf.getImageableX();
        int  yo  =  (int)  pf.getImageableY();

        Rectangle2D  r  =  new  Rectangle2D.Double(xo,  yo,  w,  h);

        g2.setColor(Color.red);
        g2.draw(r);

        PrinterGraphics  p  =  (PrinterGraphics)  g2;
        String  s  =  p.getPrinterJob().getJobName();

        g2.setPaint(Color.black);
        g2.drawString(s,  0,  0);

        return  Printable.PAGE_EXISTS;
    }
}
[본문링크] java.awt.print > Book
탭으로 나뉘어져 있는 글입니다.   [1][2]
코멘트(이글의 트랙백 주소:/cafe/tb_receive.php?no=2871
작성자
비밀번호

 

SSISOCommunity
탭글
[1][2]
[이전]

Copyright byCopyright ⓒ2005, SSISO Community All Rights Reserved.